From: Jasper St. Pierre Date: Mon, 19 Sep 2011 00:40:21 +0000 (-0400) Subject: modalDialog: Don't use a for...in loop for iterating over arrays. X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~7640 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=4352cc231eb6b85f2edad24c09622094137fca2e;p=gnome-shell.git modalDialog: Don't use a for...in loop for iterating over arrays. for...in loops do not guarantee that the indexes iterate in order. As a consequence, buttons may appear in an undesired order. --- diff --git a/js/ui/modalDialog.js b/js/ui/modalDialog.js index 49f086b2c..80615870c 100644 --- a/js/ui/modalDialog.js +++ b/js/ui/modalDialog.js @@ -110,9 +110,8 @@ ModalDialog.prototype = { this._buttonLayout.destroy_children(); this._actionKeys = {}; - let i = 0; - for (let index in buttons) { - let buttonInfo = buttons[index]; + for (let i = 0; i < buttons.length; i ++) { + let buttonInfo = buttons[i]; let label = buttonInfo['label']; let action = buttonInfo['action']; let key = buttonInfo['key']; @@ -144,11 +143,10 @@ ModalDialog.prototype = { if (key) this._actionKeys[key] = action; - i++; } // Fade in buttons if there weren't any before - if (!hadChildren && i > 0) { + if (!hadChildren && buttons.length > 0) { this._buttonLayout.opacity = 0; Tweener.addTween(this._buttonLayout, { opacity: 255,